Cavern

 Cavern4D

 Cavernize

 Debug

 FilterInterfaces

 Filters

 Format

 Helpers

 QuickEQ

  EQCurves

  Equalization

  Band

  EQGenerator

  Equalizer

  AddBand(Band)

  AlignTo(Equalizer)

  Apply(Complex[], int)

  Apply(float[], double, double)

  Bands

  ClearBands()

  Clone()

  EndFrequency

  Equalizer()

  Export(string, double, string)

  ExportToDirac(string, double, string)

  HasTheSameFrequenciesAs(Equalizer)

  Merge(Equalizer)

  Offset(double)

  PeakGain

  RemoveBand(Band)

  RemoveBands(Band, int)

  StartFrequency

  SubsonicFilter

  SubsonicRolloff

  this[double frequency]

  ValleyCorrection(float[], EQCurve, double, double, float, float)

  Visualize(double, double, int)

  VisualizeLinear(double, double, int)

  Window(Window, double, double)

  PeakingEqualizer

  SignalGeneration

  Utilities

  IDisposable

  MeasurementImporter

  MeasurementImporterStatus

  NoisyChannel

  SpeakerSweeper

  VerboseImpulseResponse

  Window

  Windowing

 Remapping

 SpecialSources

 Spoofer

 Utilities

 Virtualizer

 Atmosphere

 AudioClip3D

 AudioListener3D

 AudioListener3DInspector

 AudioSource3D

 CavernizeRealtime

 Channel

 Clip

 Environments

 Jack

 Listener

 QualityModes

 Rolloffs

 SeatAdaptation

 Source

class Equalizer

Equalizer data collector and exporter.
VisibilityPublic
Modifierssealed
ExtendsICloneable

Public functions

void AddBand(Band newBand) Add a new band to the EQ.
void AlignTo(Equalizer other)Set this equalizer so if the is linear, this will be the difference from it.
float[] Apply(float[] response, double startFreq, double endFreq)Shows the resulting frequency response if this EQ is applied.
void Apply(Complex[] response, int sampleRate)Apply this EQ on a frequency response.
void ClearBands() Reset this EQ.
object Clone() Create a copy of this EQ with the same bands.
Equalizer()Equalizer data collector and exporter.
void Export(string path, double level, string header = null)Save this EQ to a file in the standard curve/calibration format.
void ExportToDirac(string path, double level, string header = null)Save this EQ to a file in Dirac's curve format.
bool HasTheSameFrequenciesAs(Equalizer other)Compares the two EQs if they have values at the same frequencies.
Equalizer Merge(Equalizer with)Merge this Equalizer with another, summing their gains.
void Offset(double gain)Add gain in decibels to all bands.
void RemoveBand(Band removable) Remove a band from the EQ.
void RemoveBands(Band first, int count) Remove multiple bands from the EQ.
void ValleyCorrection(float[] curve, EQCurve targetEQ, double startFreq, double stopFreq, float targetGain, float maxGain = 6)Remove correction from spectrum vallies that are most likely measurement errors or uncorrectable room modes.
float[] Visualize(double startFreq, double endFreq, int length)Shows the EQ curve in a logarithmically scaled frequency axis.
float[] VisualizeLinear(double startFreq, double endFreq, int length)Shows the EQ curve in a linearly scaled frequency axis.
void Window(Window right, double startFreq, double endFreq) Add windowing on the right of the curve. Windowing is applied logarithmically.

Public properties

IReadOnlyList<Band> Bands Bands that make up this equalizer.
double EndFrequency Frequency of the rightmost band.
double PeakGainThe highest gain in this EQ.
double StartFrequency Frequency of the leftmost band.
bool SubsonicFilterCut off low frequencies that are out of the channel's frequency range.
double SubsonicRolloffSubsonic filter rolloff in dB / octave.
double this[double frequency]Gets the gain at a given frequency.

See also

CavernUnity DLL.Cavern.QuickEQ.Equalization.PeakingEqualizerGenerates peaking EQ filter sets that try to match Equalizer curves.
CavernUnity DLL.Cavern.QuickEQ.Equalization.PeakingEqualizer.PeakingEqualizer(Equalizer source) Generates peaking EQ filter sets that try to match Equalizer curves.